package com.vnp.cooking.slidingmenu;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.ListFragment;
import android.support.v4.view.ViewPager;

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.slidingmenu.lib.SlidingMenu;
import com.slidingmenu.lib.app.SlidingFragmentActivity;
import com.vnp.cooking.R;
import com.vnp.cooking.R.dimen;
import com.vnp.cooking.R.drawable;
import com.vnp.cooking.R.id;
import com.vnp.cooking.R.layout;
import com.vnp.cooking.R.menu;

public class BaseActivity extends SlidingFragmentActivity{
	private int mTitleRes;
	private ListFragment mFrag; 
	
	public BaseActivity(int titleRes) {
		mTitleRes = titleRes;
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setTitle(mTitleRes);
		
		// set the Behind View
		setBehindContentView(R.layout.activity_menu);
		
		FragmentTransaction ft = this.getSupportFragmentManager().beginTransaction();
		mFrag = new ListMenu();
		ft.replace(R.id.menu_frame, mFrag);
		ft.commit();

		// customize the SlidingMenu
		SlidingMenu sm = getSlidingMenu();
		sm.setShadowWidthRes(R.dimen.shadow_width);
		sm.setShadowDrawable(R.drawable.shadow);
		sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
		sm.setFadeDegree(0.35f);
		sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
		
//		getSupportActionBar().setDisplayHomeAsUpEnabled(true);
		}

			@Override
			public boolean onOptionsItemSelected(MenuItem item) {
				switch (item.getItemId()) {
				case android.R.id.home:
					toggle();
					return true;
				}
				return super.onOptionsItemSelected(item);
			}

			@Override
			public boolean onCreateOptionsMenu(Menu menu) {
				getSupportMenuInflater().inflate(R.menu.main, menu);
				return true;
			}
			
			public class BasePagerAdapter extends FragmentPagerAdapter {
				private List<Fragment> mFragments = new ArrayList<Fragment>();
				private ViewPager mPager;
				

				public BasePagerAdapter(FragmentManager fm, ViewPager vp) {
					super(fm);
					mPager = vp;
					mPager.setAdapter(this);
					for (int i = 0; i < 3; i++) {
						addTab(new ListMenu());
					}
				}
				
				public void addTab(Fragment frg) {
					mFragments.add(frg);
				}


				@Override
				public Fragment getItem(int position) {
					return mFragments.get(position);
				}


				@Override
				public int getCount() {
					return mFragments.size();
				}
				
			}
			
}
